//
//  HomeViewController.swift
//  SwiftDemo
//
//  Created by 高冰 on 2020/10/14.
//

import UIKit

class HomeViewController: RootViewController {
    let HomeCellID: String = "HomeCellID"
    var testId: String?

    override func viewDidLoad() {
        super.viewDidLoad()
        setuoUI()


    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        tabBarController?.tabBar.isHidden = false
    }
}

extension HomeViewController {
    var tableView: UITableView {
        /// 列表
        let tempTableview = UITableView()
        let tableFrame = CGRect(x: 0, y: 64, width: SCREEN_WIDTH, height: view.frame.size.height - 64 - 49)
        tempTableview.frame = tableFrame
        tempTableview.delegate = self
        tempTableview.dataSource = self
        tempTableview.register(HomeTableViewCell.classForCoder(), forCellReuseIdentifier: HomeCellID)
        return tempTableview
    }

    func setuoUI() {
        view.addSubview(tableView)
    }
}

// 类似oc category 只能扩充方法 不能扩充属性
extension HomeViewController: UITableViewDelegate, UITableViewDataSource {
    // MARK: - 代理

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 10
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: HomeCellID, for: indexPath) as! HomeTableViewCell

        return cell
    }

    // 点击
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        print("didSelectRowAt \(indexPath.row)")

        tabBarController?.tabBar.isHidden = true
        let homeVC = HomeDIsViewController()
        homeVC.homeDisId = 123
        homeVC.ringingBlock = { [weak self] (link: String) in
            self?.testId = link
            print(link)
        }
        navigationController?.pushViewController(homeVC, animated: true)
    }

    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 75
    }
}
